home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / src / stefanb_src.lha / UMS / Rexx / DelUser.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-01-13  |  1.9 KB  |  101 lines

  1. /* ------------------------------------------------------------------------
  2.    :Program.    DelUser.rexx
  3.    :Contents.   removes an UMS user
  4.    :Author.     Kai Bolay [kai]
  5.    :Address.    Snail Mail:
  6.    :Address.    Hoffmannstraße 168
  7.    :Address.    D-71229 Leonberg        EMail: kai@studbox.uni-stuttgart.de
  8.    :History.    v1.0 [kai] 13-Jan-96
  9.    :Version.    $VER: DelUser.rexx 1.0 (13.1.96)
  10.    :Copyright.  Public Domain
  11.    :Language.   ARexx
  12.    :Translator. RexxMast
  13. ------------------------------------------------------------------------ */
  14.  
  15. options results
  16.  
  17. signal on BREAK_C
  18. signal on BREAK_D
  19. signal on BREAK_E
  20. signal on BREAK_F
  21. signal on ERROR
  22. signal on HALT
  23. signal on IOERR
  24. signal on SYNTAX
  25.  
  26. /*** Init ***/
  27.  
  28. call addlib("rexxdossupport.library", 0, -30)
  29. call addlib("ums.library", 0, -210, 11)
  30. call UMSInitConsts()
  31.  
  32. /*** Arguments ***/
  33.  
  34. parse SOURCE . " " . " " ProgramName .
  35. ArgsTemplate = "NAME/A,PWD,SERVER/K,USER/A"
  36. args.SERVER = ""
  37.  
  38. parse arg arguments
  39. if strip(arguments) = '?' then do
  40.   call writech(STDOUT, ArgsTemplate || ': ')
  41.   arguments = readln(STDIN)
  42. end; else nop
  43. if ~ReadArgs(arguments,ArgsTemplate,"args.") then do
  44.   say Fault(RC, ProgramName)
  45.   exit 10
  46. end; else nop
  47.  
  48. /*** Login ***/
  49.  
  50. account = UMSLogin(args.name, args.pwd, args.server)
  51. if account = 0 then do
  52.   say "unable to login."
  53.   exit 10
  54. end
  55.  
  56. /*** Do the magic ***/
  57.  
  58. if ~UMSDeleteUser(account,args.user) then do
  59.   call CheckErr
  60.   rc = 20; call logout
  61. end
  62.  
  63. /*** Final cleanup ***/
  64.  
  65. BREAK_C:
  66. BREAK_D:
  67. BREAK_E:
  68. BREAK_F:
  69.  
  70. RC = 0
  71.  
  72. ERROR:
  73. HALT:
  74. IOERR:
  75. SYNTAX:
  76.  
  77. IF RC ~= 0 THEN DO
  78.   SAY "Error: " rc errortext(rc) "Line" sigl
  79.   rc = 20
  80. END
  81.  
  82. /*** Logout ***/
  83.  
  84. LOGOUT:
  85.  
  86. if account ~= 0 then do
  87.   call UMSLogout(account)
  88.   account = 0
  89. end
  90.  
  91. exit rc
  92.  
  93. /*** Support ***/
  94.  
  95. CheckErr: procedure expose account
  96.   err = UMSErrNum(account)
  97.   if err ~= 0 then do
  98.     say "UMS Error #" || err || ": " || UMSErrTxt(account)
  99.   end
  100. return
  101.